//
// Created by zhou on 2019/9/14.
//角谷定理：
//输入一个自然数，若为偶数，则把它除以2，若为奇数，则把它乘以3加1。
// 经过如此有限次运算后，总可以得到自然数值1得到自然数值1。
// 求经过多少次可得到自然数1。
//

#ifndef _RECURSIVE_ALGORITHM_VALLEY_THEOREM_H
#define _RECURSIVE_ALGORITHM_VALLEY_THEOREM_H

#endif //_RECURSIVE_ALGORITHM_VALLEY_THEOREM_H

int number(int n,int count){
    if (n==1){
        printf("    %d",n);
        return count;
    }

    if (n%2==0){
        printf("    %d",n);
        n=n/2;
        count++;
        return number(n, count);
    } else{
        printf("    %d",n);
        n=n*3+1;
        count++;
        return number(n,count);
    }
}

void valley_theorem(){
    int n,count;
    printf("输入一个数字：");
    scanf("%d", &n);
    count = number(n,1);
    printf("\nSTEP=%d",count);
}